﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace NTmdb.TestProject
{
    /// <summary>
    ///     This is a test class for TmdbListBaseTest and is intended
    ///     to contain all TmdbListBaseTest Unit Tests
    /// </summary>
    [TestClass]
    public class TmdbListBaseTest
    {
        /// <summary>
        ///     A test for TmdbListBase Constructor
        /// </summary>
        [TestMethod]
        public void TmdbListBaseConstructorTest()
        {
            var target = new TmdbListBase();
            Assert.IsNotNull( target );
        }

        /// <summary>
        ///     A test for PageNumber
        /// </summary>
        [TestMethod]
        public void PageNumberTest()
        {
            var target = new TmdbListBase();
            int expected = new Random().Next( 0, Int32.MaxValue );
            target.PageNumber = expected;
            int actual = target.PageNumber;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for TotalPages
        /// </summary>
        [TestMethod]
        public void TotalPagesTest()
        {
            var target = new TmdbListBase();
            int expected = new Random().Next( 0, Int32.MaxValue );
            target.TotalPages = expected;
            int actual = target.TotalPages;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for TotalResults
        /// </summary>
        [TestMethod]
        public void TotalResultsTest()
        {
            var target = new TmdbListBase();
            int expected = new Random().Next( 0, Int32.MaxValue );
            target.TotalResults = expected;
            int actual = target.TotalResults;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for Serialize & Deserialize
        /// </summary>
        [TestMethod]
        public void SerializeDeserializeTest()
        {
            Assert.Inconclusive();
        }
    }
}